package com.un.ebs.product.service;

import com.un.ebs.product.domain.ProductSkuExt;
import com.un.ebs.product.domain.ProductSkuFill;
import com.un.ebs.product.domain.ProductSkuFillExt;
import com.un.ebs.product.dto.ProductSkuFillAddDto;
import com.un.ebs.product.dto.ProductSkuFillUpdateDto;

import java.util.List;

/**
 * 商品的库存投放
 *
 * @author liubo
 * @email liubocs@163.com
 * @date 2020/2/19 17:58
 */
public interface ProductSkuFillService {

    /**
     * 创建投放记录
     *
     * @param req
     * @return
     */
    String add(ProductSkuFillAddDto req);

    /**
     * 修改投放记录
     *
     * @param req
     */
    void update(ProductSkuFillUpdateDto req);

    /**
     * 提交投放，最终生成，并修改SKU的库存量（qty)
     *
     * @param id
     */
    void submit(String id);

    /**
     * 删除投放记录
     *
     * @param id
     */
    void delete(String id);

    /**
     * 查询投放记录详情
     *
     * @param id
     * @return
     */
    ProductSkuFillExt queryViewById(String id);

    /**
     * 查询SKU的投放记录
     *
     * @param skuId
     * @return
     */
    List<ProductSkuFill> query(String skuId);

    /**
     * 查询SKU的投放记录，视图模式
     *
     * @param skuId
     * @return
     */
    List<ProductSkuFillExt> queryView(String skuId);

    /**
     * 查询SPU的投放记录，视图模式
     *
     * @param spuId
     * @return
     */
    List<ProductSkuFillExt> queryViewBySpu(String spuId);

}
